var ds;
var grid;
var insertForm;
var updateForm;
var form;
var win;
Ext.onReady(function() {
			initData();

		});
var sortStore;
function initSortStore() {
	sortStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : '../orderJiaGongIndex.do?action=sort'
				}),
		reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : 'root'
				}, [{
							name : 'sort',
							mapping : 'specName'
						}])

			// reader : new Ext.data.ArrayReader(sortRec)
		});
	sortStore.load({
				params : {

					limit : 10
				}
			});
	return sortStore;
};
var dateFrom, dateTo, sortType, detailFormStore, detailGridStore;
function initData() {
	ds = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
							url : '../priceInf.do?action=all'
						}),

				reader : new Ext.data.JsonReader({
							totalProperty : 'totalProperty',
							root : 'root'
						}, [{
									name : 'ssign'
								}, {
									name : 'spec'
								}, {
									name : 'plate'
								}, {
									name : 'transnum'
								}, {
									name : 'custid'
								}, {
									name : 'reqdate'
								}])
			});

	/*
	 * ds.load({ params : { start : 0, limit : 10 } });
	 */
	sortStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : '../orderJiaGongIndex.do?action=sort'
				}),
		reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : 'root'
				}, [{
							name : 'sort',
							mapping : 'specName'
						}])

			// reader : new Ext.data.ArrayReader(sortRec)
		});
	sortStore.load({
				params : {
					s : 0
				}
			});

	detailFormStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : '../DetailPrice.do?action=getForm'
				}),
		reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : 'root'
				}, [{
							name : 'transnum'
						}, {
							name : 'kaiMoSpec'
						}, {
							name : 'getSpec'

						}, {
							name : 'netWeight'
						}, {
							name : 'grossWeight'
						}, {
							name : 'grossGPrice'
						}, {
							name : 'grossUpdate'
						}, {
							name : 'grossPrice'
						}, {
							name : 'mtrlProcsPrice'
						}, {
							name : 'congCiFee'
						}, {
							name : 'packFee'
						}, {
							name : 'otherFee'
						}, {
							name : 'baseCost'
						}, {
							name : 'totalUpdate'
						}, {
							name : 'amount'
						}, {
							name : 'sanXiangFee'
						}, {
							name : 'sanXiangRate'
						}, {
							name : 'taxFee'
						}, {
							name : 'taxRate'
						}, {
							name : 'mtrlProcs'
						}])

			// reader : new Ext.data.ArrayReader(sortRec)
		});
	detailGridStore = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
					url : '../DetailPrice.do?action=getGrid'
				}),
		reader : new Ext.data.JsonReader({
					totalProperty : 'totalProperty',
					root : 'root'
				}, [{
							name : 'transnum'
						}, {
							name : 'linenum'
						}, {
							name : 'type'

						}, {
							name : 'spec'
						}, {
							name : 'perqty'
						}, {
							name : 'mianji'
						}, {
							name : 'danjia'
						}, {
							name : 'tisheng'
						}, {
							name : 'jiage'
						}, {
							name : 'pecent1'
						}, {
							name : 'processCost'
						}])

			// reader : new Ext.data.ArrayReader(sortRec)
		});
	detailGridStore.on("update", function(_store, _record, _operation) {
		// 计算单价，
		_record.data["jiage"] = _record.data["mianji"] * _record.data["danjia"];
		// 计算总价
		var upcost;
		if (_record.data["linenum"] == 1) {
			upcost = detailForm.find("name", "grossPrice")[0].getValue();

		} else {
			upcost = detailGridStore.getAt(_record.data["linenum"] - 2).data["processCost"];
		}
		var index = _record.data["linenum"] - 1;
		while (index < detailGridStore.getCount()) {
			_record = detailGridStore.getAt(index++);
			if (_record.data["perqty"] > 0 && _record.data["pecent1"] != 0) {
				_record.data["processCost"] = (upcost / _record.data["perqty"] + _record.data["jiage"])
						/ _record.data["pecent1"];

			}
		}

	});
	detailGridStore.on("load", function(_store, _record, _operation) {

				var len = detailGridStore.getCount();
				// alert("load:"+len);
				while (len < 1) {
					// alert("add default");
					var pd = new process({
								transnum : TRANSNUM,
								linenum : 0,
								type : "",
								spec : "",
								perqty : "1",
								mianji : "1",
								danjia : "1",
								tisheng : "1",
								jiage : "1",
								pecent1 : "1"
							});
					len++;
					detailGridStore.add(pd);
				}
			});
	detailGridStore.on("remove", function(_store, _record, _operation) {
				var i = 1;
				detailGridStore.each(function(_rec) {
							_rec.data["linenum"] = i++;

						})
			});
	detailGridStore.on("add", function(_store, _record, _operation) {
		// alert("add");
		_record[0].data["transnum"] = detailGridStore.getAt(0).data["transnum"];
		_record[0].data["linenum"] = detailGridStore.getCount();

	});

	initGrid();
}
function getUpdateForm() {
	if (!updateForm) {
		updateForm = new Ext.FormPanel({
					labelWidth : 75,
					// url : '../orderInfo.do?action=update',
					id : "updateForm",
					frame : true,
					bodyStyle : 'padding:5px 5px 0',
					width : 340,
					defaults : {
						width : 230
					},
					defaultType : 'textfield',
					items : [{
						fieldLabel : '计划号',// 一开始漏了个主id,导致update不成功
						name : 'transnum'
							// allowBlank : false
						}, {
						xtype : 'datefield',
						format : 'Y-m-d',
						fieldLabel : '起始日期',
						name : 'dateFrom',

						anchor : '90%'
					}, {
						xtype : 'datefield',
						format : 'Y-m-d',
						fieldLabel : '截止日期',
						name : 'dateTo',

						anchor : '90%'
					}]
				});
	}
	return updateForm;
}// 构造了一个更新的界面。
var processGrid, detailForm;
function initProcessGrid() {
	var fm = Ext.form;
	processSm = new Ext.grid.CheckboxSelectionModel();
	if (!processGrid)
		processGrid = new Ext.grid.EditorGridPanel({
			id : 'detailId',
			viewConfig : {
				forceFit : false
			},
			autoScroll : true,
			ds : detailGridStore,
			sm : processSm,
			height : 150,
			width : 400,
			enableDragDrop : true,
			// region : 'west',
			ddGroup : 'gridDDGroup',

			cm : new Ext.grid.ColumnModel([processSm, {
						header : "编号",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'transnum'
					}, {
						header : "行号",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'linenum'
					}, {
						header : "类型",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'type'
					}, {
						header : "加工规格",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'spec'
					}, {
						header : "件数",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'perqty'
					}, {
						header : "面积",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'mianji'
					}, {
						header : "单价",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'danjia'
					}, {
						header : "提升系数",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'tisheng'
					}, {
						header : "成品率",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'pecent1'
					}, {
						header : "加工费",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'jiage'
					}, {
						header : "本工序止成本",
						width : 50,
						sortable : true,
						editor : new fm.TextField({
									allowBlank : false
								}),
						dataIndex : 'processCost'
					}])

				// renderTo : 'main'
			});
	return processGrid;
}
function getDetailForm() {
	if (!processGrid)
		processGrid = initProcessGrid();
	if (!detailForm)
		detailForm = new Ext.FormPanel({
					url : '../DetailPrice.do?action=updateForm',
					labelAlign : 'left',
					title : '详细信息',
					buttonAlign : 'right',
					bodyStyle : 'padding:5px;',
					width : 400,
					height : 600,
					frame : true,// 设置了面板的边角是圆弧过度的，底色
					labelWidth : 80,

					// autoScoll : true,
					items : [{
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '序列号',
														// readOnly : true,
														name : 'transnum',
														allowBlank : false,
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '技术规格',
														// readOnly : true,
														name : 'kaiMoSpec',
														allowBlank : false,
														anchor : '90%'
													}]
										}]
							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '领料规格',
														allowBlank : false,
														// readOnly : true,
														// value : _cus.attn,
														name : "getSpec",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '牌号',
														// readOnly : true,
														name : 'ssign',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '镀层',
														allowBlank : false,
														// readOnly : true,
														// value : _cus.attn,
														name : "plate",
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '开模否',
														allowBlank : false,
														// readOnly : true,
														// value : _cus.attn,

														name : "",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '图号',
														// readOnly : true,
														name : 'mapNum',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '技术状态',
														allowBlank : false,
														// readOnly : true,
														// value : _cus.attn,
														name : "techfd",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '密度',
														// readOnly : true,
														name : 'density',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '净重',
														allowBlank : false,

														name : "netWeight",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '毛重',
														// readOnly : true,
														name : 'grossWeight',
														allowBlank : false,
														listeners : {
															"change" : function() {

																calcGross();

															}
														},
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '毛坯单价',
														// readOnly : true,
														// value : _cus.attn,
														name : "grossGPrice",
														listeners : {
															"change" : function() {

																calcGross();

															}
														},
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '毛坯提升',
														// readOnly : true,
														name : 'grossUpdate',
														listeners : {
															"change" : function() {

																calcGross();

															}
														},
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '材料费',
														// readOnly : true,
														listeners : {
															"change" : function() {

																calcFirstProcess();

															}
														},
														name : "grossPrice",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '加工费',
														// readOnly : true,
														name : 'mtrlProcsPrice',
														listeners : {
															"change" : function() {

																calcBaseFee();

															}
														},
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [processGrid]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '充磁费',
														listeners : {
															"change" : function() {

																calcBaseFee();

															}
														},
														name : "congCiFee",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '包装费',
														// readOnly : true,
														listeners : {
															"change" : function() {

																calcBaseFee();

															}
														},
														name : 'packFee',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '其他费',
														// readOnly : true,
														// value : _cus.attn,
														listeners : {
															"change" : function() {

																calcBaseFee();

															}
														},
														name : "otherFee",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '成品基价',
														// readOnly : true,
														listeners : {
															"change" : function() {

																calcAmount();

															}
														},
														name : 'baseCost',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '综合提升',
														// readOnly : true,
														// value : _cus.attn,
														listeners : {
															"change" : function() {

																calcAmount();

															}
														},
														name : "totalUpdate",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '产品价',
														// readOnly : true,
														listeners : {
															"change" : function() {

																calcAllFee();

															}
														},
														name : 'amount',
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '三项提升',
														// readOnly : true,
														// value : _cus.attn,
														listeners : {
															"change" : function() {

																calcSXFee();

															}
														},
														name : "sanXiangRate",
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '三项金额',
														// readOnly : true,
														name : 'sanXiangFee',
														listeners : {
															"change" : function() {

																calcAllFee();

															}
														},
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '税率',
														// readOnly : true,
														// value : _cus.attn,
														name : "taxRate",
														listeners : {
															"change" : function() {

																calcTRFee();

															}
														},
														anchor : '90%'
													}]
										}, {
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '税额',
														// readOnly : true,
														name : 'taxFee',
														listeners : {
															"change" : function() {

																calcAllFee();

															}
														},
														allowBlank : false,
														anchor : '90%'
													}]
										}]

							}, {
								layout : 'column',// 在formpanel的itmes加入一个column的定义
								border : false,
								labelSeparator : ':',
								items : [{
											columnWidth : .450,
											layout : 'form',
											border : false,
											items : [{
														xtype : 'textfield',
														fieldLabel : '出厂价',
														// readOnly : true,
														// value : _cus.attn,
														name : "mtrlProcs",

														anchor : '90%'
													}]
										}]

							}]
				});
	return detailForm;
}

var detailWin;
var detailSm;
var processDetailForm;
function getProcessDetailForm() {
	if (!processDetailForm) {
		processDetailForm = new Ext.FormPanel({
					labelWidth : 75,
					id : "processDetaiForm",
					url : 'orderInput.do?action=jump',
					frame : true,
					bodyStyle : 'padding:5px 5px 0',
					width : 340,
					defaults : {
						width : 230
					},
					// ddGroup : 'gridDDGroup',
					// region : 'center',{
					defaultType : 'textfield',
					items : [{
								fieldLabel : '编号',// 一开始漏了个主id,导致update不成功
								name : 'transnum',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '加工名称',// 一开始漏了个主id,导致update不成功
								name : 'type',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '加工步骤',// 一开始漏了个主id,导致update不成功
								name : 'linenum',
								readOnly : true,
								allowBlank : false
							}, {
								fieldLabel : '加工后规格',// 一开始漏了个主id,导致update不成功
								name : 'spec',
								allowBlank : false
							}, {
								fieldLabel : '加工数量',// 一开始漏了个主id,导致update不成功
								name : 'perqty',
								allowBlank : false
							}, {
								fieldLabel : '加工面积',// 一开始漏了个主id,导致update不成功
								name : 'mianji',
								allowBlank : false
							}, {
								fieldLabel : '加工单价',// 一开始漏了个主id,导致update不成功
								name : 'danjia',
								allowBlank : false
							}, {
								fieldLabel : '加工提升',// 一开始漏了个主id,导致update不成功
								name : 'tisheng',
								allowBlank : false
							}, {
								fieldLabel : '加工成品率',// 一开始漏了个主id,导致update不成功
								name : 'pecent1',
								allowBlank : false
							}, {
								fieldLabel : '加工费用',// 一开始漏了个主id,导致update不成功
								name : 'processCost',
								readOnly : true
								//allowBlank : false
							}, {
								fieldLabel : '到目前为止费用',// 一开始漏了个主id,导致update不成功
								name : 'untilPrice',
								readOnly : true
								//allowBlank : false
							}]
				});
	}
	return processDetailForm;
}// 构造了一个更新的界面。
var processSm;
function initDetailWin() {
	if (!detailWin) {
		detailWin = new Ext.Window({
			layout : 'column',
			width : 400,
			height : 600,
			// autoHeight : true, // 4601782
			closeAction : 'hide',
			plain : true,
			items : detailForm,
			modal : false,// 如果这个属性不设，弹出窗口会增加20M内存使用。
			// autoScoll : true,
			buttons : [{
				text : '保存',
				handler : function() {
					Ext.MessageBox.confirm("提示:", "是否需要把所有的数据都保存，被删除的数据不能恢复了?",
							function(button) {
								if (button == "yes") {

									processGrid.stopEditing();

									for (var i = 0; i < detailGridStore
											.getCount(); i++) {
										var pd = {
											transnum : detailGridStore.getAt(i).data["transnum"],
											linenum : detailGridStore.getAt(i).data["linenum"],
											type : detailGridStore.getAt(i).data["type"],
											spec : detailGridStore.getAt(i).data["spec"],
											perqty : detailGridStore.getAt(i).data["perqty"],
											mianji : detailGridStore.getAt(i).data["mianji"],
											danjia : detailGridStore.getAt(i).data["danjia"],
											tisheng : detailGridStore.getAt(i).data["tisheng"],
											jiage : detailGridStore.getAt(i).data["jiage"],
											pecent1 : detailGridStore.getAt(i).data["pecent1"]
										};

										DetailPrice.saveProcess(pd, function(
												ret) {
											if (ret) {
												;
											} else {
												Ext.MessageBox
														.alert(
																"提示",
																"第"
																		+ i
																		+ "条记录 save fail:"
																		+ ret);
											}
											return true;
										});
									}

									DetailPrice.removeOtherProcess(TRANSNUM,
											detailGridStore.getCount(),
											function(_ret) {
											});

									processGrid.startEditing(0, 0);

									/* 对总的结算纪录进行保存 */

									if (detailForm.getForm().isValid()) {
										// Ext.msg.alert("starting to submit");
										detailForm.getForm().submit({
											failure : function(retForm,
													retAction) {
												Ext.MessageBox.alert('提示',
														'保存数据失败！');
											},
											success : function(retForm,
													retAction) {
												detailWin.hide();
												// processGrid.destroy();
												ds.reload();
											},
											waitMsg : '正在保存数据，请稍后...'
										});

									} else {
										Ext.MessageBox.alert('提示', '请正确填写数据！');
									}
								}
							})

				}
					// initData();

			}, {
				text : '添加一行',
				// @todo...,count 是即时的数据量.
				handler : function() {
					var arr = detailSm.getSelections();
					var pd = new process({
								transnum : "",
								linenum : "",
								type : "",
								spec : "",
								perqty : "",
								mianji : "",
								danjia : "",
								tisheng : "",
								jiage : "",
								pecent1 : ""
							});
					processGrid.stopEditing();
					detailGridStore.insert(detailGridStore.getCount(), pd);
					processGrid.startEditing(0, 0);
				}
			}, {
				text : '删除多余行',
				// @todo...
				handler : function() {
					var sm = processGrid.getSelectionModel();
					if (sm.getCount() > 0) {
						Ext.MessageBox.confirm("提示:", "是否需要删除这"
										+ detailSm.getCount() + "个数据?",
								function(button) {
									if (button == "yes") {

										processGrid.stopEditing();

										var arr = sm.getSelections();
										// Ext.Msg.alert(arr.length);
										// alert(arr.length);
										for (var i = 0; i < arr.length; i++) {
											var pd = new process({
												transnum : arr[i].data["transnum"],
												linenum : arr[i].data["linenum"],
												type : arr[i].data["type"],
												spec : arr[i].data["spec"],
												perqty : arr[i].data["perqty"],
												mianji : arr[i].data["mianji"],
												danjia : arr[i].data["danjia"],
												tisheng : arr[i].data["tisheng"],
												jiage : arr[i].data["jiage"],
												pecent1 : arr[i].data["pecent1"]
											});
											oberser = pd;
											// alert(pd.data["transnum"]);
											// detailGridStore.remove(pd);
											// deleteCache.push();
											detailGridStore
													.remove(detailGridStore
															.getAt(pd.data["linenum"]
																	- 1));
											// alert("sucess");
										}

										processGrid.startEditing(0, 0);
										processGrid.getView().refresh();
									}
								});

					}
				}
			}, {
				text : '修改',
				handler : function() {
					var sm = processGrid.getSelectionModel();

					if (sm.getCount() == 1) { // update form to
						LINENUM=sm.getSelections()[0].data["linenum"];
						form = getProcessDetailForm();
						processDetailForm.show();
						updateForm.hide();
						var items = new Ext.util.MixedCollection();
						items.add("form", form);
						win.width = 355, win.items = items;

						win.show(this);
						initDD(form, sm);
						form.getForm().reset();
						form.getForm().loadRecord(sm.getSelected());
					} else {
						Ext.MessageBox.alert('提示', '请选择一条记录！');
					}
				}
			}, {
				text : '关闭',
				handler : function() {

					detailWin.hide();

				}
			}]
		});
	}
	return detailWin;
}
var LINENUM;
function initGrid() {
	Ext.QuickTips.init();

	var xg = Ext.grid;
	/**/
	if (!form)
		form = getUpdateForm();
	/* win */
	if (!win) {
		win = new Ext.Window({
					layout : 'column',
					width : 355,
					autoHeight : true, // 4601782
					closeAction : 'hide',
					plain : true,
					items : form,
					modal : false,// 如果这个属性不设，弹出窗口会增加20M内存使用。
					buttons : [{
						text : '保存',
						handler : function() {
							if (form.getForm().isValid()) {
								// Ext.msg.alert("starting to submit");
								win.hide();
								if (form.getId() == "updateForm") {
									var dateFrom = form.getForm().getValues().dateFrom;
									var dateTo = form.getForm().getValues().dateTo;
									var transnum = form.getForm().getValues().transnum;
									ds.load({
												params : {
													start : 0,
													limit : 10,
													dateFrom : dateFrom,
													dateTo : dateTo,
													transnum : transnum
												}

											});
								} else {
									var _rec = processSm.getSelections()[0];
									_rec=detailGridStore.getAt(LINENUM-1);
									_rec.data["spec"] = processDetailForm.find(
											"name", "spec")[0].getValue();
									_rec.data["mianji"] = processDetailForm.find(
											"name", "mianji")[0]
											.getValue();
									_rec.data["type"] = processDetailForm.find(
											"name", "type")[0]
											.getValue();
									_rec.data["perqty"] = processDetailForm.find(
											"name", "perqty")[0].getValue();
									_rec.data["linenum"] = processDetailForm.find(
											"name", "linenum")[0].getValue();
									// _rec.data["processPrice"]=updateForm.find("name","processPrice")[0].getValue();
									_rec.data["tisheng"] = processDetailForm
											.find("name", "tisheng")[0]
											.getValue();
									_rec.data["pecent1"] = processDetailForm
											.find("name", "pecent1")[0]
											.getValue();
									_rec.data["danjia"] = processDetailForm.find(
											"name", "danjia")[0].getValue();

									detailGridStore.fireEvent("update", this, _rec);
								}

							} else {
								Ext.MessageBox.alert('提示', '请正确填写数据！');
							}
						}
					}, {
						text : '清空',
						handler : function() {
							form.getForm().reset();
						}
					}, {
						text : '关闭',
						handler : function() {
							form.getForm().reset();
							win.hide();
						}
					}]
				});
	}

	win.on("hide", function(_this) {

				// form.hide();

			});
	// ////////////////////////////////////////////////////////////////////////////////
	// Grid
	// //////////////////////////////////////////////////////////////////////////////////////
	var sm = new xg.CheckboxSelectionModel();
	grid = new xg.GridPanel({
		id : 'button-grid',
		autoScoll : true,
		ds : ds,
		cm : new xg.ColumnModel([sm, {
					header : "序列号",
					width : 40,
					sortable : true,
					dataIndex : 'transnum'
				}, {
					header : "客户编号",
					width : 40,
					sortable : true,
					dataIndex : 'custid'
				}, {
					header : "牌号",
					width : 10,
					sortable : true,
					dataIndex : 'ssign'
				}, {
					header : "规格",
					width : 40,
					sortable : true,
					dataIndex : 'spec'
				}, {
					header : "镀层",
					width : 40,
					sortable : true,
					dataIndex : 'plate'
				}, {
					header : "请求日期",
					width : 40,
					sortable : true,
					dataIndex : 'reqdate'
				}]),
		sm : sm,
		stripeRows : true,

		viewConfig : {
			forceFit : true
		},

		// inline toolbars
		tbar : [{
					text : '查詢條件',
					tooltip : '設置從ERP中導入的報價信息',
					iconCls : 'add',
					onClick : function() {

						form = getUpdateForm();
						form.show();
						if(processDetailForm)
						processDetailForm.hide();
						
						var items = new Ext.util.MixedCollection();
						items.add("form", form);
						win.width = 355, win.items = items;
						// win.title = "报价单信息";
						win.show();
						form.getForm().reset();
					}
				}, '-', {
					text : '詳細信息',
					tooltip : '对选定的发货信息进行结算',
					iconCls : 'option',
					onClick : function() {
						if (sm.getCount() == 1) {
							Ext.MessageBox.confirm('提示', '你确定要对这个询价信息进行详细结算吗？',
									function(button) {
										if (button == 'yes') {
											detailSm = sm;
											var _data = sm.getSelections()[0];
											TRANSNUM = _data.data["transnum"];
											detailFormStore.load({
												params : {
													transnum : _data.data["transnum"]
												},
												callback : function() {
													form.getForm().reset();
													form
															.getForm()
															.loadRecord(detailFormStore
																	.getAt(0));

												}
											});
											detailGridStore.load({
												params : {
													transnum : _data.data["transnum"]
												}
											});

											form = getDetailForm();
											detailWin = initDetailWin();
											// form.show();
											var items = new Ext.util.MixedCollection();
											items.add("form", form);
											// win.setWidth(600);
											detailWin.items = items;
											detailWin.show();

										}
									});
						} else {
							Ext.MessageBox.alert('提示', '请选择一条记录！');
						}
					}

				}],

		bbar : new Ext.PagingToolbar({
					pageSize : 10,
					store : ds,
					displayInfo : true,
					displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
					emptyMsg : "没有记录"
				}),
		width : 700,
		autoHeight : true,
		// frame:true,
		title : '报价信息表单',
		iconCls : 'icon-grid',
		renderTo : 'main'
	});
};

var flag = false;
function initDD(updateForm, windowSm) {
	if (!flag) {
		var formPanelDropTargetEl = updateForm.getEl();
		var formPanelDropTarget = new Ext.dd.DropTarget(formPanelDropTargetEl,
				{
					ddGroup : 'gridDDGroup',
					notifyEnter : function(ddSource, e, data) {

						// Add some flare to invite drop.
						// alert(ddSource.getCount());
						updateForm.body.stopFx();
						updateForm.body.highlight();
					},
					notifyDrop : function(ddSource, e, data) {

						var selectedRecord = ddSource.dragData.selections[0];
						// 这里需要处理一下，原来的编号，主id编号不变
						var _rec = windowSm.getSelections()[0];
						// alert(windowSm.getSelections().length);

						selectedRecord.data["transnum"] = _rec.data["transnum"];
						selectedRecord.data["linenum"] = updateForm.find("name","linenum")[0].getValue();
						selectedRecord.data["type"] = updateForm.find("name","type")[0].getValue();

						// Load the record into the form

						updateForm.getForm().loadRecord(selectedRecord);

						return (true);
					}
				});
		flag = true;
	}
}
